//package ui;
//
//import facade.AgriculturalSystemFacade;
//
//import javax.swing.*;
//import java.awt.*;
//import java.awt.event.ActionEvent;
//import java.awt.event.ActionListener;
//
//public class AgriculturalSystemUI extends JFrame {
//    private AgriculturalSystemFacade system;
//    private JTextArea logArea;
//    private JLabel tractorStatusLabel;
//    private JLabel harvesterStatusLabel;
//
//    public AgriculturalSystemUI() {
//        setTitle("农业机械智能控制系统");
//        setSize(800, 600);
//        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//        setLayout(new BorderLayout());
//
//        // 初始化系统
//        logArea = new JTextArea(20, 60);
//        logArea.setEditable(false);
//        system = new AgriculturalSystemFacade(logArea);
//
//        // 创建控制面板
//        JPanel controlPanel = createControlPanel();
//
//        // 创建状态面板
//        JPanel statusPanel = createStatusPanel();
//
//        // 创建日志面板
//        JScrollPane logScrollPane = new JScrollPane(logArea);
//        JLabel logLabel = new JLabel("系统日志:");
//
//        // 添加组件到主窗口
//        add(controlPanel, BorderLayout.NORTH);
//        add(statusPanel, BorderLayout.CENTER);
//
//        JPanel logContainer = new JPanel(new BorderLayout());
//        logContainer.add(logLabel, BorderLayout.NORTH);
//        logContainer.add(logScrollPane, BorderLayout.CENTER);
//        add(logContainer, BorderLayout.SOUTH);
//
//        // 初始化显示
//        updateStatusLabels();
//    }
//
//    private JPanel createControlPanel() {
//        JPanel panel = new JPanel();
//        panel.setLayout(new FlowLayout());
//
//        // 拖拉机控制
//        JPanel tractorPanel = new JPanel(new GridLayout(3, 1));
//        tractorPanel.setBorder(BorderFactory.createTitledBorder("拖拉机控制"));
//
//        JButton startTractorBtn = new JButton("启动");
//        startTractorBtn.addActionListener(e -> {
//            system.startTractor();
//            updateStatusLabels();
//        });
//
//        JButton stopTractorBtn = new JButton("停止");
//        stopTractorBtn.addActionListener(e -> {
//            system.stopTractor();
//            updateStatusLabels();
//        });
//
//        JButton planTractorPathBtn = new JButton("规划路径");
//        planTractorPathBtn.addActionListener(e -> system.tractorPlanPath());
//
//        tractorPanel.add(startTractorBtn);
//        tractorPanel.add(stopTractorBtn);
//        tractorPanel.add(planTractorPathBtn);
//
//        // 收割机控制
//        JPanel harvesterPanel = new JPanel(new GridLayout(3, 1));
//        harvesterPanel.setBorder(BorderFactory.createTitledBorder("收割机控制"));
//
//        JButton startHarvesterBtn = new JButton("启动");
//        startHarvesterBtn.addActionListener(e -> {
//            system.startHarvester();
//            updateStatusLabels();
//        });
//
//        JButton stopHarvesterBtn = new JButton("停止");
//        stopHarvesterBtn.addActionListener(e -> {
//            system.stopHarvester();
//            updateStatusLabels();
//        });
//
//        JButton planHarvesterPathBtn = new JButton("规划路径");
//        planHarvesterPathBtn.addActionListener(e -> system.harvesterPlanPath());
//
//        harvesterPanel.add(startHarvesterBtn);
//        harvesterPanel.add(stopHarvesterBtn);
//        harvesterPanel.add(planHarvesterPathBtn);
//
//        // 系统事件模拟
//        JPanel eventPanel = new JPanel(new GridLayout(3, 1));
//        eventPanel.setBorder(BorderFactory.createTitledBorder("系统事件"));
//
//        JButton warningBtn = new JButton("警告事件");
//        warningBtn.addActionListener(e -> system.handleSystemEvent("warning"));
//
//        JButton errorBtn = new JButton("错误事件");
//        errorBtn.addActionListener(e -> system.handleSystemEvent("error"));
//
//        JButton criticalBtn = new JButton("紧急事件");
//        criticalBtn.addActionListener(e -> system.handleSystemEvent("critical"));
//
//        eventPanel.add(warningBtn);
//        eventPanel.add(errorBtn);
//        eventPanel.add(criticalBtn);
//
//        // 传感器数据模拟
//        JPanel sensorPanel = new JPanel(new GridLayout(2, 1));
//        sensorPanel.setBorder(BorderFactory.createTitledBorder("传感器数据"));
//
//        JTextField sensorDataField = new JTextField("温度: 25°C, 湿度: 60%");
//        JButton sendSensorDataBtn = new JButton("发送传感器数据");
//        sendSensorDataBtn.addActionListener(e ->
//                system.simulateSensorData(sensorDataField.getText()));
//
//        sensorPanel.add(sensorDataField);
//        sensorPanel.add(sendSensorDataBtn);
//
//        // 添加所有面板到控制区
//        panel.add(tractorPanel);
//        panel.add(harvesterPanel);
//        panel.add(eventPanel);
//        panel.add(sensorPanel);
//
//        return panel;
//    }
//
//    private JPanel createStatusPanel() {
//        JPanel panel = new JPanel();
//        panel.setLayout(new FlowLayout());
//
//        // 拖拉机状态
//        JPanel tractorStatusPanel = new JPanel(new GridLayout(2, 1));
//        tractorStatusPanel.setBorder(BorderFactory.createTitledBorder("拖拉机状态"));
//
//        JLabel tractorStatusTitle = new JLabel("当前状态:");
//        tractorStatusLabel = new JLabel("空闲");
//        tractorStatusLabel.setForeground(Color.RED);
//
//        tractorStatusPanel.add(tractorStatusTitle);
//        tractorStatusPanel.add(tractorStatusLabel);
//
//        // 收割机状态
//        JPanel harvesterStatusPanel = new JPanel(new GridLayout(2, 1));
//        harvesterStatusPanel.setBorder(BorderFactory.createTitledBorder("收割机状态"));
//
//        JLabel harvesterStatusTitle = new JLabel("当前状态:");
//        harvesterStatusLabel = new JLabel("空闲");
//        harvesterStatusLabel.setForeground(Color.RED);
//
//        harvesterStatusPanel.add(harvesterStatusTitle);
//        harvesterStatusPanel.add(harvesterStatusLabel);
//
//        panel.add(tractorStatusPanel);
//        panel.add(harvesterStatusPanel);
//
//        return panel;
//    }
//
//    private void updateStatusLabels() {
//        String tractorStatus = system.getTractorStatus();
//        tractorStatusLabel.setText(tractorStatus);
//        tractorStatusLabel.setForeground(tractorStatus.equals("工作中") ? Color.GREEN : Color.RED);
//
//        String harvesterStatus = system.getHarvesterStatus();
//        harvesterStatusLabel.setText(harvesterStatus);
//        harvesterStatusLabel.setForeground(harvesterStatus.equals("工作中") ? Color.GREEN : Color.RED);
//    }
//
//    public static void main(String[] args) {
//        SwingUtilities.invokeLater(() -> {
//            AgriculturalSystemUI ui = new AgriculturalSystemUI();
//            ui.setVisible(true);
//        });
//    }
//}